|
|
@@ -264,4 +264,32 @@ def maintenance_tracking_info_callback(request):
|
264
|
264
|
maintenance_id = request.GET.get('maintenance_id', '')
|
265
|
265
|
type_ = request.GET.get('type', 'tracking') # tracking / back_tracking
|
266
|
266
|
|
|
267
|
+ param = request.POST.get('param', '')
|
|
268
|
+
|
|
269
|
+ if not param:
|
|
270
|
+ return response()
|
|
271
|
+
|
|
272
|
+ try:
|
|
273
|
+ callback_json = json.loads(param[0])
|
|
274
|
+ except Exception:
|
|
275
|
+ return response()
|
|
276
|
+
|
|
277
|
+ tracking_info = callback_json.get('lastResult', {})
|
|
278
|
+
|
|
279
|
+ if not tracking_info:
|
|
280
|
+ return response()
|
|
281
|
+
|
|
282
|
+ try:
|
|
283
|
+ maintenance = MaintenaceInfo.objects.get(id=maintenance_id, status=True)
|
|
284
|
+ except MaintenaceInfo.DoesNotExist:
|
|
285
|
+ return response(MaintenanceStatusCode.MAINTENACE_NOT_FOUND)
|
|
286
|
+
|
|
287
|
+ if type_ == 'tracking':
|
|
288
|
+ maintenance.tracking_info = tracking_info
|
|
289
|
+ maintenance.tracking_signed = is_tracking_signed(tracking_info)
|
|
290
|
+ else:
|
|
291
|
+ maintenance.back_tracking_info = tracking_info
|
|
292
|
+ maintenance.back_tracking_signed = is_tracking_signed(tracking_info)
|
|
293
|
+ maintenance.save()
|
|
294
|
+
|
267
|
295
|
return response()
|